package com.wswy.wzcx.model.conf

import com.google.gson.annotations.SerializedName
import com.wswy.wzcx.BuildConfig
import org.json.JSONObject

class SysConfMap(

        /**
         * 启动页设置
         */
        @SerializedName("STARTUP_PAGE_BANNER_ANDROID") val splashAd: SysConf? = null,

        /**
         * 信息流广告类型
         */
        @SerializedName("INFO_SOURCE_BANNER_TYPE_ANDROID") val feedAd: SysConf? = null,

        /**
         * 优惠券
         */
        @SerializedName("COUPON_ACTIVITY") val couponActivityConf: SysConf? = null,


        /**
         * 支付方式
         */
        @SerializedName("PAY_TYPE") val choosePayTypeConf: SysConf? = null,

        /**
         * 支付方式 违章代办
         */
        @SerializedName("PAY_TYPE_WZDB") val chooseWzdbPayTypeConf: SysConf? = null,

        /**
         * 内置链接域名及前缀，e.g http://m.12123.com/
         */
        @SerializedName("H5_URL_PREFIX") val h5UrlPrefixConf: SysConf? = SysConf(BuildConfig.H5_WEB_URL),

        /**
         * h5 token白名单，默认添加了12123和nbajordan.cn，用,分隔 12123.com,nbajordan.cn
         */
        @SerializedName("HOST_WHITE_LIST")
        val hostWhitelistConf: SysConf? = null,


        /**
         * 是否使用122访问,1 为开启
         */
        @SerializedName("GW_122_ENABLE") val gw122Conf: SysConf? = null,

        /**
         * 访问122的间隔，单位秒
         */
        @SerializedName("GW_122_INTERVAL") val gw122Interval: SysConf? = null,

        /**
         * 配置验证码识别接口 1正常顺序调用，2不要调用驾考的接口
         */
        @SerializedName("DECODE_IMG_TYPE") val decodeImageConf: SysConf? = null,

        /**
         * 后台访问设置，1为启用，其它为禁用
         */
        @SerializedName("BG_NEWS_WORK_V2") val bgWorkConf: SysConf? = null,

        /**
         * 底部点击，
         */
        @SerializedName("BOTTOM_SP_C_CONF") val spBottomClickConf: SysConf? = null,

        /**
         * 客服微信
         */
        @SerializedName("WSKF_WECHAT") val wskfWechatConf: SysConf? = null,


        /**
         * 一键登录
         */
        @SerializedName("SY_ONE_KEY_LOGIN") val syOneKeyLogin: SysConf? = null,


        /**
         * 是否显示注销
         */
        @SerializedName("ACCOUNT_LOG_OF") val syLogout: SysConf? = null


) {


    fun isEnable122(): Boolean {
        return gw122Conf?.value ?: "1" == "1"  //默认开启
    }

    fun gw122Interval(): Int {
        return gw122Interval?.value?.toIntOrNull() ?: 60 * 1 //默认1分钟请求一次
    }


    fun useJKDecode(): Boolean {
        return decodeImageConf?.value ?: "1" == "1" //是否使用驾考接口识别，默认会调用
    }


    fun isEnableBgNewWork(): Boolean {
        return bgWorkConf?.value ?: "0" == "1" //是否开启 默认后台访问
    }

    fun isEnableSYOneKeyLogin(): Boolean {
        return syOneKeyLogin?.value ?: "0" == "1" //底部是否可以点击
    }

        fun isEnableBottomClick(): Boolean {
                return spBottomClickConf?.value ?: "0" == "1" //底部是否可以点击
        }

//    fun isShowLogout(): Boolean {
//        return syLogout?.value ?: "0" == "1" //底部是否可以点击
//    }


    fun getWskfWechat(): Map<String, String?>? {
        val str = wskfWechatConf?.value
        if (str.isNullOrEmpty()) {
            return null
        }
        val map = HashMap<String, String?>()
        kotlin.runCatching {
            val json = JSONObject(str)
            json.keys().forEach {
                map.put(it, json.optString(it))
            }
        }
        return map
    }

}